import request from "@/utils/request";

const CheckItem_BASE_URL = "/api/v1/CheckItem";

class CheckItemAPI {
  /**
   * 获取用户分页列表
   *
   * @param queryParams 查询参数
   */
  static getPage(queryParams: CheckItemQuery) {
    return request<any, PageResult<CheckItemPageVO[]>>({
      url: `${CheckItem_BASE_URL}/page`,
      method: "get",
      params: queryParams,
    });
  }

  /**
   * 
   * 新增检查项目
   * 
   */
  static add(data: CheckItemForm) {
    return request<any, number>({
      url: `${CheckItem_BASE_URL}`,
      method: "post",
      data: data,
    });
  }

  /**
   * 
   * 查询检查项目详情
   * @param checkItemId 检查项目ID
   * @returns 查询结果
   */
  static getFormData(checkItemId: number) {
    return request<any, CheckItemForm>({
      url: `${CheckItem_BASE_URL}/${checkItemId}/form`,
      method: "get",
    });
  }

  /**
   * 
   * 修改检查项目
   * @param data 检查项目表单对象
   * @Param checkItemId 检查项目ID
   * @returns 修改结果
   * 
   */

  static update(checkItemId: number,data: CheckItemForm ) {
    return request<any, number>({
      url: `${CheckItem_BASE_URL}/${checkItemId}`,
      method: "put",
      data: data,
    });
  }
}
    export default CheckItemAPI;

    /** 检查费用分页查询参数 */
export interface CheckItemQuery extends PageQuery {
    /** 检查项目名称 */
    checkItemName?: string;
    /** 检查项目关键字 */
    keywords?: string;
    /** 项目类型 */
    typeId?: number;
    /** 项目状态 默认值2*/
    status?: number;
  }
  
  /** 挂号项目分页对象 */
  export interface CheckItemPageVO {
    /**检查项目ID */
    checkItemId: number;
    /** 检查项目名称 */
    chickItemName: string;
    /**关键字 */
    keyword: string;
    /**项目单价 */
    unitPrice: number;
    /**项目成本 */
    cost: number;
    /**项目单位 */
    unit: string;
    /**项目类型 */
    typeId: string;
    /**项目状态 */
    status: number;
    /**创建时间 */
    createTime: string;
  }
   /** 检查项目表单对象 */
   export interface CheckItemForm {
    /** 检查项目ID */
    checkItemId?: number;
    /** 项目类型 */
    typeId: number;
    /** 检查项目名称 */
    checkItemName: string;
    /** 检查项目关键字 */
    keywords: string;
    /** 项目单价 */
    unitPrice: number;
    /** 项目成本 */
    cost: number;
    /** 项目单位 */
    unit: string;
    /** 项目状态 */
    status: number;
  }